1. Field of the Invention
The present invention relates in general to scripting languages and associated parsers, and, more particularly, to the parsing of command scripts into a format that can be queried against relational databases.
2. Background and the Prior Art
Query parsers, which process user queries written in a language that is not a database language into one or more queries understandable to database server software, such as relational database server software, have been known in the art for years. These parsers typically translate user's command script to one or more database query commands using a database query language, such as the well-known Structured Query Language (SQL).
Noble et al., U.S. Pat. No. 5,634,053 discloses the filtering of a global database query into a plurality of local sub-queries to search for and retrieve data from the individual databases referenced by the global query.
Cochrane et al., U.S. Pat. No. 5,987,455, is directed to querying a database, wherein the query contains a procedural function. The query is compiled to generate an internal representation of this procedural function, and the execution of the procedural function is optimized, using the internal representation.
Jones et al., U.S. Pat. No. 5,873,083 discloses the use of a grammar definition to generate a high-level collection of object structures, which are optimized and converted into a query execution plan.
Martinez-Guerra et al., U.S. Pat. No. 6,523,172 discloses a parser-translator which uses grammar translation rules in conjunction with statement parsing, in order to dynamically interface with data stores.
While these and other prior art database parsers have worked well, it is desirable to provide a database command parser that includes a hierarchical, multi-stage command lookup feature, wherein a limited set of commands that are operational in nature and do not require data retrieval for completion are recognized natively by the command parser, using local, relatively rapidly accessible storage, and wherein a substantially larger set of functions that require data retrieval, as well as user-defined functions, are recognized in conjunction with a secondary, less rapidly accessible data store.
It is further an object of the present invention to provide a database command parser that is capable of receiving and processing command scripts from a variety of sources, including off-the-shelf business applications, web browsers, and custom-built applications.
It is additionally an object of the present invention to provide a scripting language and an associated command parser which facilitates the creation of user-defined functions, or extensions to the command language, including user-defined functions that allow their callers to change or rewrite the run-time interpretation of a user-defined function “on the fly.”
It is yet another object of the present invention to provide a flexible date engine that, in association with a parser and a scripting language, permits users to specify dates for which data is to be retrieved from a relational database in a variety of ways, including relative date specifications and periodic date intervals.
These and other desirous characteristics of the present invention will become apparent in light of the present specification, claims, and drawings.